package impl

// ！具体生成器，扩展点
//
// 在公共方法基础上实现扩展
type footballShoeBuilder struct {
	shoe
}

func NewFootballShoeBuilder() abstractShoeBuilder {
	return &footballShoeBuilder{}
}

func (f *footballShoeBuilder) setCategory() {
	f.Category = "football"
}

// 构造了shoe的实例，应用使用此实例
func (f *footballShoeBuilder) getShoe() shoe {
	return shoe{
		Category: f.Category,
	}
}
